import axios from "axios";
import host from "./env.js";

//创建实例
const instance = axios.create({
  baseURL: host,
  timeout: 5000
});

// 添加响应拦截器
instance.interceptors.response.use(
  function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    if (response.status == 200) {
      //获取接口数据
      let data = response.data;
      //接口处理正常
      if (data.code == 200) {
        //将data包装成Promise对象
        return Promise.resolve(data);
      } else {
        //接口处理失败
        //判断data是否为空
        if (data.data) {
          let obj = data.data;
          let info = "";
          //遍历对象obj获取错误描述 o是对象的属性
          for (let o in obj) {
            info += obj[o];
          }
          //说明是后端验证信息描述
         // ElMessage.error(info);
        } else {
          //提示msg信息
         // ElMessage.error(data.msg);
        }
      }
    }

    return response;
  },
  function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);

export default {
  /**
   *
   * @param {*} url 接口地址
   * @param {*} params 参数对象 如{id:2} 会将参数拼接在地址栏
   * @returns
   */
  get(url, params) {
    return instance.get(url, { params }); //=={"params":params}
  },

  post(url, data) {
    return instance.post(url, data);
  },
  delete(url, params) {
    return instance.delete(url, { params });
  },
  put(url, data) {
    return instance.put(url, data);
  }
};
